﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BGCOP.CAVTOP.BUSINESSLAYER
{
    public class TiposUsuarios
    {
        public List<TTipoUsuario> ListarTodosLosTipos()
        {
            try
            {
                masterDBACEntities db = new masterDBACEntities();
                var tipos = from tp in db.TTipoUsuario
                            orderby tp.NombreTipoUsuario
                            select tp;
                return tipos.ToList();
            }
            catch (Exception ex)
            {
                
                throw;
            }
        }
        public bool CrearTipoUsuario(string nombreTipo, string mPermisos, int usuarioUg)
        {
            bool res = false;
            masterDBACEntities db = new masterDBACEntities();
            TTipoUsuario tpu = new TTipoUsuario();
            tpu.NombreTipoUsuario = nombreTipo;
            tpu.fechaUltimaGestion = DateTime.Now;
            tpu.usuarioUltimaGestion = usuarioUg;
            tpu.permisos = mPermisos;
            db.AddToTTipoUsuario(tpu);
            db.SaveChanges();
            res = true;
            return res;
        }

        public bool ActualizarTipoUsuario(int tipoBusq, string nuevoNombre, string nuevosPermisos, int usuarioUg)
        {
            bool res = false;
            masterDBACEntities db = new masterDBACEntities();
            TTipoUsuario tu = db.TTipoUsuario.FirstOrDefault(c => c.idTipoUsuario == tipoBusq);
            tu.NombreTipoUsuario = nuevoNombre;
            tu.permisos = nuevosPermisos;
            tu.fechaUltimaGestion = DateTime.Now;
            tu.usuarioUltimaGestion = usuarioUg;
            db.SaveChanges();
            res = true;
            return res;
        }

        public bool EliminarTipoUsuario(int tipoBusq)
        {
            bool res = false;
            masterDBACEntities db = new masterDBACEntities();
            TTipoUsuario tu = db.TTipoUsuario.FirstOrDefault(c => c.idTipoUsuario == tipoBusq);
            db.TTipoUsuario.DeleteObject(tu);
            db.SaveChanges();
            res = true;
            return res;
        }
    }
}
